23

» WarCraft 3 / Пища и призванные юниты

Похожие вопросы:

ответ
BrEd Pitt, делать через найм юнитов или удалять призванного юнита если превышен лимит еды
а у абилки сбрасывать кд
и выдавать чтото наподобие "нужно построить зикурат"

23

» WarCraft 3 / Текстуры в Reforged.

Похожие вопросы:

ответ
плохо ищете
ответ
Нет, туман выглядит таким образом всегда, я долго думал, что я не так делаю с туманом, в игре все норм
ответ
Получается, в триггерах в разделе "видимость" можно отключить весь террейн, но это так себе варик
После чего замостить всё ruined ground 4x4 декорацией
ответ
Пути все старые (такие же как и у 126, но для HD с припиской HD MOD), для открытия нужен реф (можно даже не покупать) и casc view
ответ
А много ли юнитов будут с хп баром? если серьёзно то решения нет и фрейм не найти этот, оно зашито в недра движка. Но опять таки Disable pre-selection вариант всё таки, если потом отрисовать кастомные хп бары через специальную модель, если она будет эффектом, то это не вызовет никакой доп нагрузки даже у 100 юнитов.

23

» WarCraft 3 / Почему может не работать триггер?

Похожие вопросы:

ответ
not_name:
может скинешь карту удали все что не связанно с предметами посмотрим что не так.
Вот скрин одного из предметов, который перестал работать. Boots of Travel - активка. Мне кажется это просто баг, так как перестает работать какой-то предмет, на самом деле, очень редко. Я думал может есть какое то логическое объяснение, но увы.
Спасибо за ответы.
ответ
Предлагаю для начала разбить действие на кучу мелких. Все расчёты разбить на мелкие и разнести по переменным, выводя на экран. А там и видно будет, ибо на скрине даже не вся строка видна.
ответ
Скорее всего условия не выполняются. Нужно выводить на экран сообщения и смотреть, какие вывелись.
ответ
Потому что предмет сначала удаляется. Его больше нет в слоте.
А потом спрашивается, сколько зарядов у предмета в слоте. Но там вообще нет предмета.

23

» WarCraft 3 / Найм другому игроку

Похожие вопросы:

ответ
NiktoTakoy, существует множество приказов
полного списка приказов не существует но есть частичный список в папке с джнгп (lib)
id приказов используются в спец функциях которые оканчиваются на ById (в гуи их нету вроде бы)
при желании ты можешь узнать айди нужного тебе приказа с помощью триггера предоставленного Mrachny

23

» Администрация XGM / Дата заданий

Похожие вопросы:

ответ
Я думаю стоит об этом спросить самого дока)
ответ
Обновил функционал в полной форме создания задачи + разлочил значение (кол-во часов)

23

» WarCraft 3 / Отображение юнита игрока

Похожие вопросы:

ответ
Можно выключить подсвечивание юнитов при наведении курсора:
call EnablePreSelect(false,false)
Имена игроков пропадут, но вместе с ними исченут имена самих юнитов и круги выделения под ними.
ответ
мне кажется то, что я хочу сделать невозможно из-за самого варика. так не было предназначено.
буду искать другой путь
ответ
Добавь компьютерного игрока на нужный слот
ответ
Steal nerves, насколько я понимаю, автору вопроса нужно совсем другое - он хочет чтобы у юнита было одновременно несколько улучшений на атаку, не важно откуда они берутся и даже не важно могут ли они быть активны одновременно. А проблема вся в циферке уровня улучшения на иконке атаки, которая начинает себя некорректно вести когда на атаку влияет больше одного улучшения.

можно просто исследование других рас насильно через триггер давать
Или создать копию улучшения для нейтралов и выдавать его триггерно при изучении родного, а циферку у юнита завязать именно на это улучшение. (одно улучшение для нейтралов, выдавать при изучении любого из соответствующих ему рассовых улучшений).
ответ
есть три события: начато исследование, отменено и завершено исследование.
запустить таймер в начале исследования. и из него узнать процент. есть нативки, позволяющие узнать: запущенное время, пройденное время и оставшее время до завершения
процент = пройденное время/запущенное время
при отмене или завершении удалить таймер
примерно как тут здесь даже проще, чем выяснить реальный процент стройки хуманов

23

» WarCraft 3 / Оптимизация.

Похожие вопросы:

ответ
Таких багов много, почему то оптимизатор берет данные из слк таблиц игры на часть объектов, пробуй wc3ultimate opt, на хайве выложена... Мб кто уже и новый виджитайзер запилил.
ответ
Закрываю вопрос
Нашел нормальный блокнот и через него отредактил
ответ
Тут скорее всего еще проблема с кодом карты, деоптимизаторы не восстанавливают данные на 100% и ошибки будут почти всегда, 100% рабочий способ - создавать объекты с нуля в карте руками, с теми же id и параметрами что в карте которую вы хотели восстановить...
ответ
В первую очередь, нужно выборочно оценивать и уменьшать размер текстур и количество мипмапов. Например, есть текстура кровли, которая в игре занимает существенную часть видимого пространства в декорациях, которая в целом как-то влияет своим качеством на восприятие картинки, и есть текстура какого-нибудь топорика, который держит в своих руках один из юнитов, и толком не разглядеть мелкие детали топорика. Но зачастую бывает так, что текстура топорика имеет размер 256х256 px, а текстура кровли 64х64 px.
Другой пример с иконками и другими элементами интерфейса, где не требуется более двух самых крупных мипмапов, а остальные можно благополучно удалить, т.к. оин почти ни при каких условиях не будут изображены.
Во-вторую очередь, нужно оптимизировать анимации нестандартных моделей юнитов. У нас до сих пор многие ничего не знают об этом, хотя уже есть инструмент, который делает это автоматически. Вот только Wiedzmin, автор тулзы пока ее не опубликовал, а пора бы дать всем ее пощупать.
Кроме оптимизации анимаций, следует применять все остальные способы, реализованные в mdlvis - это просто галочки, которые почистят прочий мусор, ничего сложного.
ответ
В Mdlvis используешь: Удаление свободных вершин, Удаление не связанных костей, Удаление ничейных КК, Линеаризация анимации. (настоятельно не рекомендую использовать параметр "Увеличение сжимаемости" как правило эта опция может удалять вершины тем самым испортив геометрию модели)
Переходим в Warcraft Model Editor, вкладка Редактировать-> Рассчитать границы
Сохраняем.
Как правило после расчета границ придется настраивать событийные объекты из за того что программа может сместить ключевые кадры, то есть нужно заново назначить им ключевые кадры например: следы от башмаков на земле должны быть видны только в анимации "Walk"
Переходим во вкладку Окна-> редактор узлов настраиваем видимость.
Сохраняем.
Опять открываем в WME сохраненную модель переходим во вкладку Менеджер текстур.
Там удаляем не используемые текстуры. Если не помнишь какие, то последовательно пытаешься удалить каждую текстуру, если WME ругается значит она используется если нет то ты нашел не нужную текстуру. Как правило после удаления поверхностей может остается ее анимация тут уже все ручками нужно удалять. Переходим во вкладку "Редактор анимации поверхности" и ищем не используемые удаляем.
Скачиваем MDX/M3 Optimizer c Хайва.
Разархивируем в отдельную папку, создаем там bat-ик, открываем блокнотом (перед этим копируем полный адрес папки, например: C:\Users\Asssssvi\Desktop\Warcraft Program\MDXM3 Optimizer)
вставляем следующее copt_win -p 32 -t 0.001 "адрес папки" и сохраняем.
скидываем в папку файл модели и перемещаем ее прямо на bat -ик должно получится "имя файла v2. mdx"
Этой программой мы удалили "бесполезные ключевые кадры" которые занимают лишнее(нет) место.
На этом в принципе все.
Помни что у каждой анимации должен быть первый и последний кадр(если кость была задействована в середине анимации и у нее будет отсутствовать начальный и последний кадр, то это будет ошибка, причем позиция и ротация точки это два разных параметра, то есть если ты изменил положение кости (переместил) то это перемещение должно иметь начальный и последний кадр так же и с ротацией они отдельны друг от друга, если этого нет, то анимация будет не коректно работать.
А на Хайвовском "Sanity test" будут сыпаться ошибки, кстати если все нормально то он должен показать серую надпись "Passed" то тогда можешь считать что она оптимизирована.

23

» WarCraft 3 / Почему может не работать триггер?

Похожие вопросы:

ответ
not_name:
может скинешь карту удали все что не связанно с предметами посмотрим что не так.
Вот скрин одного из предметов, который перестал работать. Boots of Travel - активка. Мне кажется это просто баг, так как перестает работать какой-то предмет, на самом деле, очень редко. Я думал может есть какое то логическое объяснение, но увы.
Спасибо за ответы.
ответ
Предлагаю для начала разбить действие на кучу мелких. Все расчёты разбить на мелкие и разнести по переменным, выводя на экран. А там и видно будет, ибо на скрине даже не вся строка видна.
ответ
RobertStevenson, вейты вообще зло, а отсчёт можно сделать таймером. Точнее и без неожиданных багов.
Ждать пока - это вейт в цикле, работает это просто отвратно, сам с этим сталкивался. Лучше заменить на событие смерти колдуна.

Я всё же думаю, что дело не в вейтах. Выводи имя героя Hero[A]. Лучше выводить так: ("герой - ") + (Имя юнита (Hero[A])) + " " + (Число в строку (А)).
Если нет имени - героя просто нет в этой переменной.
ответ
Скорее всего условия не выполняются. Нужно выводить на экран сообщения и смотреть, какие вывелись.
ответ
Потому что предмет сначала удаляется. Его больше нет в слоте.
А потом спрашивается, сколько зарядов у предмета в слоте. Но там вообще нет предмета.

23

» WarCraft 3 / Как сделать такой триггер?

Похожие вопросы:

ответ
никак, ты говоришь о несовместимых модификаторах
ответ
Ну еще один вариант... Как я понял ты в начале игры выбираешь себе героя покупая в таверне. Так вот: Тебе понадобиться сделать 2 области.
И подставить свои значения в этот триггер (место Playble map area выбрать область в какую хочешь переместить героя)
Когда ты покупаешь героя он " входит в область" вокруг таверны (не забудь ее сделать).Дальше он перемещается в указанную тобой другую область (ее тоже не забудь). И я не добавил одно действие убить того кто покупал героя (у меня был светлячок).
Вроде бы все объяснил.
Если что не понятно пиши мне в ЛС.
ответ
Ну суть в том что при доведении здания до разрушения (смерти) оно переходит во владение тому игроку, который его и добил. Проще говоря - твой ластхит по вражескому зданию передаёт его тебе.
По-хорошему первое что надо сделать - запретить союзникам атаковать свои здания (или хотя бы столицы, о которых и идёт речь).
Второе - при получении зданием урона проверять кто его нанёс, если друг - отхиливать на весь урон, если враг - проверять не будет ли этот урон смертельным, и если ДА - давать столько хп, сколько надо что бы здание осталось в живых (обычно это урон + 1 хп). И при этом передавать юнита во владение тому игроку, который владеет юнитом который является источником этого урона.
По желанию можно отхилить здание полностью (на 100% своего хп)
ответ
PT153:
Есть. Условие -> сравнение целочисленной.
Можно скрин например?
решил логично поискать и нашёл.
ответ
Сделал сам

23

» WarCraft 3 / Помощь с условием тригера

Похожие вопросы:

ответ
Если по игроку то массив переменных по игроку, если прям каждого конкретного героя каждого игрока - то через custom value или прочий регистратор юнитов.
Чета типа так, для ознакомления с CV

23

» WarCraft 3 / Почему может не работать триггер?

Похожие вопросы:

ответ
not_name:
может скинешь карту удали все что не связанно с предметами посмотрим что не так.
Вот скрин одного из предметов, который перестал работать. Boots of Travel - активка. Мне кажется это просто баг, так как перестает работать какой-то предмет, на самом деле, очень редко. Я думал может есть какое то логическое объяснение, но увы.
Спасибо за ответы.
ответ
Предлагаю для начала разбить действие на кучу мелких. Все расчёты разбить на мелкие и разнести по переменным, выводя на экран. А там и видно будет, ибо на скрине даже не вся строка видна.
ответ
RobertStevenson, вейты вообще зло, а отсчёт можно сделать таймером. Точнее и без неожиданных багов.
Ждать пока - это вейт в цикле, работает это просто отвратно, сам с этим сталкивался. Лучше заменить на событие смерти колдуна.

Я всё же думаю, что дело не в вейтах. Выводи имя героя Hero[A]. Лучше выводить так: ("герой - ") + (Имя юнита (Hero[A])) + " " + (Число в строку (А)).
Если нет имени - героя просто нет в этой переменной.
ответ
Скорее всего условия не выполняются. Нужно выводить на экран сообщения и смотреть, какие вывелись.

23

» WarCraft 3 / Проблема с уроном

Похожие вопросы:

ответ
Черная область за хп баром вроде свободно скейлится ибо просто черная текстура без анимаций. Изменение размера хп бара тоже вроде не багает (mdlvis нормально воспроизводит). Я так понял, правая грань хп бара привязана к кости, которая движется анимациями. Переведи в .mdl и пролистай на дно, там циферки очевидные :) Это должно покрыть все вопросы.
ответ
Ломается, потому что перезаписываются переменные. Используй локальные переменные. Вот ссылка на статью: xgm.guru/p/wc3/jass_local_vars.
ответ
Работает только оригинал , точнее с него настройки на все остальные идут клоны спелла, настройки смотри в опен доте, так то она работ, но вот орб и ннсовместтмость с другими пассивками, это не очень.
ответ
чесн, в этом триггере прекрасно все
от точки, которая создается, не используется, но удаляется
пика группы юнитов, которые все суммарно сколько их на карте нанесут бедной цели урон
и до атакованного юнита, которого вообще здесь не может быть)

что по сути, так я хз как можно прозевать "Цель способности", или как оно у вас называется в русифицированных триггерах. на стандартной версии это target of ability being cast
цикл здесь скорее всего не нужен, если конечно только смысл действительно в том что бы брать всех огров на карте и наносить цели урон.
ответ
Не вижу второй триггер но увидев первый, думаю что событие накладывается много раз, поэтому много лечения

23

» Администрация XGM / Вставка изображений создаёт миниатюру вначале текста

Похожие вопросы:

ответ
Эта функция не требуется и даже будет вредить. Загружайте скриншоты для комментариев на сторонние хостинги, по возможности.
ответ
Исправлено

23

» WarCraft 3 / Почему может не работать триггер?

Похожие вопросы:

ответ
Вам сюда, господин хороший. Там есть ответы, практически, на все ваши вопросы.
ответ
not_name:
может скинешь карту удали все что не связанно с предметами посмотрим что не так.
Вот скрин одного из предметов, который перестал работать. Boots of Travel - активка. Мне кажется это просто баг, так как перестает работать какой-то предмет, на самом деле, очень редко. Я думал может есть какое то логическое объяснение, но увы.
Спасибо за ответы.
ответ
Предлагаю для начала разбить действие на кучу мелких. Все расчёты разбить на мелкие и разнести по переменным, выводя на экран. А там и видно будет, ибо на скрине даже не вся строка видна.
ответ
RobertStevenson, вейты вообще зло, а отсчёт можно сделать таймером. Точнее и без неожиданных багов.
Ждать пока - это вейт в цикле, работает это просто отвратно, сам с этим сталкивался. Лучше заменить на событие смерти колдуна.

Я всё же думаю, что дело не в вейтах. Выводи имя героя Hero[A]. Лучше выводить так: ("герой - ") + (Имя юнита (Hero[A])) + " " + (Число в строку (А)).
Если нет имени - героя просто нет в этой переменной.

23

» WarCraft 3 / Сейв Лоад

Похожие вопросы:

ответ
а давай ты используешь поиск, сам найдешь решение, разберешься, а мы тебе
спасибо и 2 "лайка"
ответ
Вот, должно помочь, но конечно, если героев несколько, то переменная перезаписывается.
ответ
~8gabriel8:
Проверяешь циклом от 1 до длины строки по символу в строке, когда попадётся решётка, то делаешь Substring этого куска и продолжаешь, следующий Substring прибавится к предыдущему. Просто посиди и спокойно подумай, как это можно реализовать, скорее всего первый вариант у тебя будет использовать массу переменных, после этого спокойно прикинь, как можно свести использование переменных до минимума. Это на самом деле простой алгоритм, просто крупный, а следовательно муторный.

Не разбирал статью, но когда расшифровывал систему кодов в какой-то карте, то именно так и было там сделано, что малая часть символов содержат информацию, а остальное мусор для массивности, который имитирует зашифорванность, чтобы данные не были очевидны.

23

» WarCraft 3 / Таблица рекордов

Похожие вопросы:

ответ
Так?
ответ
количество ресурсов хранить в переменных
при получении приказа постройки здания проверять достаточно ли ресурсов
если не достаточно то отдать триггерному юниту приказ стоп и вывести на экран сообщение "недостаточно ресурсов"
со всем остальным аналогично
ответ
ScopteRectuS:
awesomesk1ll, именно таблицы рекордов и окна таймера нет в игровом интерфейсе. думаю, что нужно при импорте сразу указать путь, а не в игровом интефейсе.
Именно их может и не быть, фон для подобных окон задается один общий для нескольких элементов. (окно чата F12, окно союзников F11, окно ожидания игрока, когда он лагает, окно когда соединение прервано например ещё). Аналогично и с рамкой. Более точнее вечером сориентировать смогу только.
Лови. Как я и писал выше, учти что меняется не только это окошко.
ответ
Да, возможно. Создать несколько мультбоардом и показывать их через GetLocalPlayer

23

» WarCraft 3 / Непонятная проблема

Похожие вопросы:

ответ
EvilPenguin, я посмотрел модель, там в анимации поверхностей были изменения цвета.
Удалил на фиг - и всё стало показывать правильно.
FrigatPlay, закрой вопрос уже)
ответ
Slice_Of_Spice:
ssbbssc, понятия не имею, почему он так обозвал экзешник редактора. Может из-за ЖНГП. Если ты про версию варика, то она 1.26.
С другими моделями всё ок? Если да, то копай модель, нарушил правила какие-то. Пересобери её заного)
ответ
Попробуй конвертировать через war3 image extracror, а в фш сохрани картинку как 32 битную. Ну и разумеется разрешение 512х512
Когда будешь вставлять в карту, закинь картинку в мапу , а еще тебе понадобится LoadScreen.mds. В свойствах карты на загрузочный экран установишь LoadScreen.mdx, ну это я так, на всякий случай. Саму картинку нужно назвать FullScreen.blp
ответ
>>Но при нажатии кнопка обрабатывается неправильно, будто бы игнорируя 1 игрока и обрабатывается для 2 игрока (исходя из того что пишет [Дебаг] нажата кнопка №2, но может быть я ошибаюсь).
Мб где-то слетела бж функция GetConvertedPlayerID и изза этого цифорки поломались
Тык
function GetConvertedPlayerId takes player whichPlayer returns integer
    return GetPlayerId(whichPlayer) + 1
endfunction

23

» WarCraft 3 / Баг на карте warcraft 3 классика

Похожие вопросы:

ответ
да какой то баг скорее всего, у кого то даже фаталы есть что когда запускаешь тест мапы и дерутся юниты - вылетает все (у меня такое же есть). А в обычном мили все норм

23

» WarCraft 3 / Вопрос по триггерам Warcraft 3

Похожие вопросы:

ответ
Вам сюда, господин хороший. Там есть ответы, практически, на все ваши вопросы.
ответ
Закрыто.
ответ
~8gabriel8:
Каждый вопрос заслуживает отдельного обсуждения, а на все стало лень ответ печатать, когда начал.
Печатать реально долго, легче было реализовать примеры в карте:
Кроме последнего пункта, его нужно персонально рассматривать, так как игра не подразумевает использование для юнита двух списков. Например, можно наполнить список построек у юнита всеми зданиями, часть из которых блокировать при открытии одного списка и разблокировать при открытии второго, но это подходит, когда один рабочий. Можно сделать второй список из книги заклинаний, куда добавлены способности на основе игрушечных строений, чтобы было видно карту пути и всё такое, но там для них используется один приказ, то есть всегда одинаковое здание будет при нажатии на любую способность, а ещё нет стоимости золота и дерева, что тоже придётся как-то ваять триггерно. Можно перевоплощать юнита при смене списка в другого, но там тоже сложности, не помню точно какие, вроде бы связаны с расой, так как все строят по-разному.

С точкой сбора всё просто. Способность у игрока не заблокировать, потому нужно забрать её у всех зданий, которые есть на карте, либо будут построены.

Группа из максимум 9 юнитов работает немножко коряво, ранее мы с PT153 находили какой-то вариант, чтобы работало быстро, но лень пользоваться поиском. Вроде каждую 0.01 секунду проверялось количество выбранных юнитов, лишние удалялись из выбора.

Чтобы не было очереди, пришёл в голову лишь вариант с апгрейдом здания. Но у меня реализован просто пример для одного конкретного здания, а для нескольких абстрактных зданий нужно делать текстовым триггером, который будет для каждого здания запускать локальный таймер на нужное время и добавлять анимационный текстаг work. По отмене апгрейда, либо истечению таймера анимационный тег удаляется и создаётся воин, к которому привязывается соответствующий звук. Но есть и другие варианты, типа создавать внутри здания другое, которое реально будет производить юнитов, когда заказал апгрейд, там иная реализация. И не упомянул про затрачиваемые ресурсы. Потребуется забирать/возвращать часть ресурсов при отмене апгрейда.

На примере триггеров и фиолетовых строк в редакторе объектов смотри, как сделано улучшение Бугая в Дренорского бугая.

Конечно, мог бы сделать MUI триггер на GUI для отсутствия очереди, но это было бы громоздко и в техническом смысле уродливо. производящие здания заносились бы в массив, для которого будет массив таймеров, которые будут заноситься в виде событий на истечение таймера в другой триггер, а точнее будет несколько массивов таймеров, по максимальному числу тренируемых юнитов в любом производящем здании.

Нашёл твои вопросы:
В них бы и спрашивал, что непонятно. А то тебе отвечают, а ты игнорируешь, словно очень умный.
Тебе даже вариант без триггеров для четвёртого пункта сделали: xgm.guru/p/wc3/230191/comments?postid=426457#comment5
ответ
Модуль вопросов существует для вопросов, а не для просьб сделать все за вас.